﻿//勿改
var V1 = "┏━┳━━━━━━━━━┓";
var V2 = "┃花┃脚本仿制　定制脚本┃";
var V3 = "┃老┃技术支持　游戏顾问┃";
var V4 = "┃师┃ＷＺ添加　地图制作┃";
var V5 = "┣━┻━━━━━━━━━┫";
var V6 = "┃　唯一QQ:739977676   ┃";
var V7 = "┗━━━━━━━━━━━┛";
//
importPackage(java.lang);
importPackage(Packages.tools);
importPackage(Packages.client);
importPackage(Packages.server);
importPackage(Packages.tools.packet);
var 左小括号 = "#fUI/UIWindow.img/createCygnus/BtLeft/mouseOver/0#";//
var 右小括号 = "#fUI/UIWindow.img/createCygnus/BtRight/mouseOver/0#";//
var 卡通图标花蘑菇 = "#fUI/UIWindow.img/Minigame/Omok/stone/0/black/0#";//
var 卡通图标绿水灵 = "#fUI/UIWindow.img/Minigame/Omok/stone/0/white/0#";//
var 卡通图标触须怪 = "#fUI/UIWindow.img/Minigame/Omok/stone/1/black/0#";//
var 卡通图标漂漂猪 = "#fUI/UIWindow.img/Minigame/Omok/stone/2/black/0#";//
var 卡通图标粉红熊 = "#fUI/UIWindow.img/Minigame/Omok/stone/6/black/1#";//
var 卡通图标泡泡鱼 = "#fUI/UIWindow.img/Minigame/Omok/stone/6/white/0#";//
var 卡通图标小蜘蛛 = "#fUI/UIWindow.img/Minigame/Omok/stone/7/black/0#";//
var 卡通图标黑色熊 = "#fUI/UIWindow.img/Minigame/Omok/stone/9/white/1#";//
var 不打钩 = "#fUI/UIWindow.img/PartySearch/check0#"; //不打勾
var 打钩 = "#fUI/UIWindow.img/PartySearch/check1#"; //打钩
var 支持强化 = [0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 7];

var 强化等级 = [
    //等级0 四维1 攻击2 魔力3 成功几率(填90=90%成功)4 需要材料数量5 需要金币6 保护石数量7 点券数量8
    [1, 1, 0, 0, 100, 10, 0, 0, 0],
    [2, 1, 0, 0, 80, 20, 0, 0, 0],
    [3, 1, 0, 0, 70, 30, 50000, 0, 0],
    [4, 1, 0, 0, 60, 40, 150000, 0, 0],
    [5, 1, 0, 0, 50, 50, 300000, 0, 0],//5

    [6, 1, 0, 0, 30, 60, 500000, 0, 600],
    [7, 1, 0, 0, 20, 100, 800000, 0, 1000],
    [8, 1, 0, 0, 10, 150, 2000000, 1, 2000],
    [9, 1, 0, 0, 5, 180, 5000000, 2, 5000],
    [10, 1, 0, 0, 3, 230, 10000000, 3, 10000]//10
];

//200 116 130
var 最高强化 = 10;
var 绑定材料ID = 4033751;
var 不绑定材料ID = 4033752;

var 低保需要次数 = 1000;

var 金币价格 = 0;

var 保护石ID = 4033232;

var 目前装备强化等级 = 0;
var 当前强化等级 = 0;
var 几率 = 0;
var text = "";
var status = 0;
var 材料ID;

var 提示 = "\r\n                    #r" + 左小括号 + "时装强化说明" + 右小括号 + "#k\r\n";
提示 += "#r·#k装备放到背包栏第一格即可强化.\r\n";
提示 += "#r·#k允许强化部位:帽子/脸饰/眼饰/耳环/披风/手套/鞋子/武器/衣服/裤子.\r\n";
提示 += "#r·#k最高强化等级:" + 最高强化 + "(建议所有时装同等级依次强化,领取全套戒指).\r\n";

function start() {
    status = -1;
    action(1, 0, 0);
}


function action(mode, type, selection) {
    if (mode == -1) {
        cm.dispose();
    } else {
        if (mode == 1) {
            status++;
        } else {
            status--;
        }
        //
        if (status == -1) {
            cm.dispose();
        } else if (status == 0) {
            if (V1 != "┏━┳━━━━━━━━━┓" || V2 != "┃花┃脚本仿制　定制脚本┃" || V3 != "┃老┃技术支持　游戏顾问┃" || V4 != "┃师┃ＷＺ添加　地图制作┃" || V5 != "┣━┻━━━━━━━━━┫" || V6 != "┃　唯一QQ:739977676   ┃" || V7 != "┗━━━━━━━━━━━┛") {
                cm.sendOk("[脚本未授权,请联系脚本作者QQ:739977676]");//中间蓝色框
                cm.dispose();
                return;
            }
            if (cm.getInventory(1).isFull(0)) {
                cm.sendOk("#r对不起,您的背包装备栏不足.请在背包第一格放入时装\r\n" + 提示);
                cm.dispose();
                return;
            }
            if (cm.getInventory(1).getItem(1) == null) {
                cm.sendOk("#r对不起,您的背包第一格没有时装.\r\n" + 提示);
                cm.dispose();
                return;
            }
            var ii = MapleItemInformationProvider.getInstance();
            if (cm.getInventory(1).getItem(1).getExpiration() != -1) {
                cm.sendOk("#r不允许强化限时装备.请在背包第一格放入时装!\r\n" + 提示);
                cm.dispose();
                return;
            }
            if (cm.isCash(cm.getInventory(1).getItem(1).getItemId()) == false) {
                cm.sendOk("#r只允许强化时装,请在背包第一格放入时装.\r\n" + 提示);
                cm.dispose();
                return;
            }
            var 允许强化的部位 = false;
            for (var i = 0; i < 支持强化.length; i++) {
                if (getItemType(cm.getInventory(1).getItem(1).getItemId()) == 支持强化[i]) {
                    允许强化的部位 = true;
                    break;
                }
            }
            if (允许强化的部位 == false) {
                cm.sendOk("#r该部位时装不允许强化.\r\n" + 提示);
                cm.dispose();
                return;
            }
            //获取当前装备强化等级
            var 装备名片 = "" + cm.getInventory(1).getItem(1).getOwner();
            if (装备名片 != "") {
                当前强化等级 = 装备名片.replace(/[^0-9]/ig, ""); //提取字符串裡面的数字
                if (当前强化等级 > 0) {
                    当前强化等级 = 装备名片.replace(/[^0-9]/ig, ""); //提取字符串裡面的数字
                    if (当前强化等级 >= 最高强化) {
                        cm.sendOk("已经强化到顶级!\r\n" + 提示);
                        cm.dispose();
                        return;
                    }
                }
            } else {
                当前强化等级 = 0;
            }
            //计算费用
            材料数量 = 强化等级[当前强化等级][5];
            金币价格 = 强化等级[当前强化等级][6];
            //
            几率 = 强化等级[当前强化等级][4];
            保护石需求 = 强化等级[当前强化等级][7];
            点券价格需求 = 强化等级[当前强化等级][8];
            强化次数 = cm.getPlayer().getOneTimeLogcs("时装强化次数");
            text = " ┏━━━━━━━" + 卡通图标粉红熊 + "[时装·强化]" + 卡通图标粉红熊 + "━━━━━━━┓\r\n";
            text += "\t#r·#k" + 左小括号 + "强化时装" + 右小括号 + ":#v" + cm.getInventory(1).getItem(1).getItemId() + "#\r\n";
            text += "\t#r·#k" + 左小括号 + "强化等级" + 右小括号 + ":" + 当前强化等级 + "→" + (parseInt(当前强化等级) + 1) + "";
            text += "\t#r·#k" + 左小括号 + "成功几率" + 右小括号 + ":#r" + (parseInt(几率)) + "#k%\r\n";
            text += "\t#r·#k" + 左小括号 + "增加四维" + 右小括号 + ":[#r" + 强化等级[当前强化等级][1] + "#k]";
            text += "\t #r·#k" + 左小括号 + "材料数量" + 右小括号 + ":[#r" + 材料数量 + "#k个]\r\n";
            if (当前强化等级 < 5) {

                text += "\t#r·#k" + 左小括号 + "金币数量" + 右小括号 + ":[#r" + 金币价格 + "#k]\r\n";
            }
            if (cm.getPlayer().getOneTimeLogcs("时装强化次数") >= 低保需要次数) {
                text += "#L999##r·暴击#k:#B" + (强化次数 / 10) + "# " + (强化次数 / 10) + "% 增加成功率:#r" + ((强化次数 / 100) >= 20 ? "20" : "" + parseInt(强化次数 / 100) + "") + "% #k" + (cm.getPlayer().getOneTimeLogcs("时装强化爆率启用") >= 1 ? "" + 打钩 + "" : "" + 不打钩 + "") + "#l\r\n      #L999##b[打钩代表本次强化使用暴击,也可继续往上累计]#l\r\n";
            } else {
                text += "\t#r·#k暴击:#B" + (强化次数 / 10) + "# " + (强化次数 / 10) + "%\r\n\t#r·#k[集满可增加成功率,最多20%]\r\n";
            }
            text += "      #L0##k[#r使用#k#v" + 绑定材料ID + "##z" + 绑定材料ID + "#强化]#l";
            text += "\r\n      #L1##k[#r使用#k#v" + 不绑定材料ID + "##z" + 不绑定材料ID + "#  强化]#l\r\n";
            text += "\r\n\r\n#k ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\r\n";
            cm.sendSimple(text);
        } else if (status == 1) {
            选择的1 = selection;
            if (选择的1 == 0 || 选择的1 == 1) {
                text = "\r\n确定要进行强化吗？\r\n";
                if (保护石需求 > 0) {
                    text += "#L998##r·使用#v" + 保护石ID + "##z" + 保护石ID + "##k#k" + (cm.getPlayer().getOneTimeLogcs("时装强化保护石启用") == 0 ? "" + 打钩 + "" : "" + 不打钩 + "") + "(强化失败后，装备等级不会下降)#l\r\n";
                }
                if (点券价格需求 > 0) {
                    text += "#L701#【使用#r" + 点券价格需求 + "#k点券进行强化】#l\r\n";
                }
                text += "#L700#【使用#b" + 金币价格 + "#k金币进行强化】#l\r\n";
                cm.sendSimple(text);
            } else if (选择的1 == 999) {
                if (cm.getPlayer().getOneTimeLogcs("时装强化爆率启用") < 1) {
                    cm.getPlayer().gainOneTimeLogcs("时装强化爆率启用", +1);
                } else {
                    cm.getPlayer().gainOneTimeLogcs("时装强化爆率启用", -cm.getPlayer().getOneTimeLogcs("时装强化爆率启用"));
                }
                cm.dispose();
                cm.openNpc(9900004, "时装强化系统");
                return;
            }
        } else if (status == 2) {
            if (selection == 700) {
                使用类型 = "金币";
            } else if (selection == 701) {
                使用类型 = "点券";
            }
            //

            //
            if (selection == 998) {
                if (cm.getPlayer().getOneTimeLogcs("时装强化保护石启用") == 0) {
                    cm.getPlayer().gainOneTimeLogcs("时装强化保护石启用", +1);
                } else {
                    cm.getPlayer().gainOneTimeLogcs("时装强化保护石启用", -cm.getPlayer().getOneTimeLogcs("时装强化保护石启用"));
                }
                cm.sendOk("更改保护石状态成功，请重新打开NPC进行强化!\r\n");
                cm.dispose();
                return;
            }
            //
            保护石机制启用 = false;
            if (cm.getPlayer().getOneTimeLogcs("时装强化保护石启用") == 0 && 当前强化等级 >= 7) {
                if (cm.getPlayer().getItemQuantity(保护石ID, false) < 保护石需求) {
                    cm.sendOk("材料#v" + 保护石ID + "#不足" + 保护石需求 + "个!\r\n");
                    cm.dispose();
                    return;
                }
                保护石机制启用 = true;
            }
            //
            if (选择的1 == 0) {
                //判断材料
                if (cm.getPlayer().getItemQuantity(绑定材料ID, false) < 材料数量) {
                    cm.sendOk("材料#v" + 绑定材料ID + "#不足" + 材料数量 + "个!\r\n");
                    cm.dispose();
                    return;
                }
                if (使用类型 == "金币") {
                    if (cm.getMeso() < 金币价格) {
                        cm.sendOk("金币需要" + 金币价格 + "!\r\n");
                        cm.dispose();
                        return;
                    }
                    cm.gainMeso(- 金币价格);//扣除多少金币
                } else if (使用类型 == "点券") {
                    if (cm.getPlayer().getCSPoints(1) < 点券价格需求) {
                        cm.sendOk("点券需要" + 点券价格需求 + "!\r\n");
                        cm.dispose();
                        return;
                    }
                    cm.gainDJ(-点券价格需求);//扣点券
                }
                cm.gainItem(绑定材料ID, -材料数量);
                //
            } else if (选择的1 == 1) {
                //
                if (cm.getPlayer().getItemQuantity(不绑定材料ID, false) < 材料数量) {
                    cm.sendOk("材料#v" + 不绑定材料ID + "#不足" + 材料数量 + "个!\r\n");
                    cm.dispose();
                    return;
                }
                //
                if (使用类型 == "金币") {
                    if (cm.getMeso() < 金币价格) {
                        cm.sendOk("金币需要" + 金币价格 + "!\r\n");
                        cm.dispose();
                        return;
                    }
                    cm.gainMeso(- 金币价格);//扣除多少金币
                } else if (使用类型 == "点券") {
                    if (cm.getPlayer().getCSPoints(1) < 点券价格需求) {
                        cm.sendOk("点券需要" + 点券价格需求 + "!\r\n");
                        cm.dispose();
                        return;
                    }
                    cm.gainDJ(-点券价格需求);//扣点券
                }
                cm.gainItem(不绑定材料ID, -材料数量);
                //
            } else {
                cm.sendOk("你当前第一格装备还不支持强化!\r\n");
                cm.dispose();
                return;
            }
            //
            if (保护石机制启用 == true) {
                cm.gainItem(保护石ID, -保护石需求);
            }
            //开始强化
            cm.getPlayer().gainOneTimeLogcs("时装强化次数", +材料数量);
            //成功几率
            if (cm.getPlayer().getOneTimeLogcs("时装强化爆率启用") >= 1) {
                cm.getPlayer().gainOneTimeLogcs("时装强化爆率启用", -cm.getPlayer().getOneTimeLogcs("时装强化爆率启用"));
                cm.getPlayer().gainOneTimeLogcs("时装强化次数", -cm.getPlayer().getOneTimeLogcs("时装强化次数"));
                if (parseInt(强化次数 / 100) > 20) {
                    几率 = 几率 + 20;
                } else {
                    几率 = 几率 + parseInt(强化次数 / 100);
                }
            }
            //
            //
            var 百分比几率 = Math.floor(Math.random() * (100 - 1 + 1) + 1);
            if (百分比几率 > 几率) {
                if (当前强化等级 >= 1) {
                    if (保护石机制启用 == true) {
                        cm.sendOk("强化失败,时装降级了!!!!!\r\n还好使用了保护石，时装等级未降低。");
                        cm.dispose();
                        return;
                    }
                    var 格1 = cm.getInventory(1).getItem(1);
                    var ii = MapleItemInformationProvider.getInstance();
                    var type = ii.getInventoryType(格1.getItemId()); //获得装备的类形
                    var toDrop = ii.randomizeStats(ii.getEquipById(格1.getItemId())).copy(); // 生成一个Equip类
                    //
                    toDrop.setStr(格1.getStr() - 强化等级[当前强化等级 - 1][1]);//力量
                    toDrop.setDex(格1.getDex() - 强化等级[当前强化等级 - 1][1]);//敏捷
                    toDrop.setInt(格1.getInt() - 强化等级[当前强化等级 - 1][1]);//智力
                    toDrop.setLuk(格1.getLuk() - 强化等级[当前强化等级 - 1][1]);//运气
                    toDrop.setWatk(格1.getWatk() - 强化等级[当前强化等级 - 1][2]);//屋里
                    toDrop.setMatk(格1.getMatk() - 强化等级[当前强化等级 - 1][3]);//魔法
                    //
                    toDrop.setFlag(格1.getFlag());//上锁 判断交易状态
                    toDrop.setUpgradeSlots(格1.getUpgradeSlots());//剩馀强化次数 y("力量","敏捷","智力","运气");
                    toDrop.setLevel(格1.getLevel());//已强化次数
                    toDrop.setViciousHammer(格1.getViciousHammer());//金锤子
                    toDrop.setSpeed(格1.getSpeed());//移动速度
                    toDrop.setWdef(格1.getWdef());//防御力
                    toDrop.setMdef(格1.getMdef());//防御力
                    toDrop.setJump(格1.getJump());//跳跃力
                    toDrop.setHp(格1.getHp());//最大血量
                    toDrop.setMp(格1.getMp());//最大蓝量
                    toDrop.setAvoid(格1.getAvoid());//回避
                    toDrop.setAcc(格1.getAcc());//命中
                    toDrop.setHands(格1.getHands());//手技
                    //
                    toDrop.setOwner("强化+" + (parseInt(当前强化等级) - 1) + "")//名片
                    //
                    Packages.server.MapleInventoryManipulator.removeFromSlot(cm.getC(), type, 1, 1, false);
                    Packages.server.MapleInventoryManipulator.addFromDrop(cm.getC(), toDrop, false);
                    //cm.itemlaba("【时装强化】", "玩家 [" + cm.getPlayer().getName() + "] 的 [+" + (parseInt(当前强化等级)) + "" + cm.getItemName(cm.getInventory(1).getItem(1).getItemId()) + "] 强化失败,时装降到了 [+" + (parseInt(当前强化等级) - 1) + "] .", toDrop, 15);
                    //cm.sendOk("#e#r强化失败#k#n!\r\n时装降级了!");
                    cm.getPlayer().dropMessage(5, "强化失败,时装降级了!!!!!");//左下角文字 调试用 个人的 不是世界喇叭
                    cm.dispose();
                    cm.openNpc(9900004, "时装强化系统");
                    return;
                } else {
                    //cm.sendOk("#e#r强化失败#k#n!\r\n时装没有任何变化!");
                    cm.getPlayer().dropMessage(5, "强化失败,时装没有任何变化!!!!!");
                    cm.dispose();
                    cm.openNpc(9900004, "时装强化系统");
                    return;
                }
            }
            //成功
            var 格1 = cm.getInventory(1).getItem(1);
            var ii = MapleItemInformationProvider.getInstance();
            var type = ii.getInventoryType(格1.getItemId()); //获得装备的类形
            var toDrop = ii.randomizeStats(ii.getEquipById(格1.getItemId())).copy(); // 生成一个Equip类
            //
            toDrop.setStr(格1.getStr() + 强化等级[当前强化等级][1]);//力量
            toDrop.setDex(格1.getDex() + 强化等级[当前强化等级][1]);//敏捷
            toDrop.setInt(格1.getInt() + 强化等级[当前强化等级][1]);//智力
            toDrop.setLuk(格1.getLuk() + 强化等级[当前强化等级][1]);//运气
            toDrop.setWatk(格1.getWatk() + 强化等级[当前强化等级][2]);//屋里
            toDrop.setMatk(格1.getMatk() + 强化等级[当前强化等级][3]);//魔法

            //
            toDrop.setFlag(1);//上锁 判断交易状态
            toDrop.setUpgradeSlots(格1.getUpgradeSlots());//剩馀强化次数 y("力量","敏捷","智力","运气");
            toDrop.setLevel(格1.getLevel());//已强化次数
            toDrop.setViciousHammer(格1.getViciousHammer());//金锤子
            toDrop.setSpeed(格1.getSpeed());//移动速度
            toDrop.setWdef(格1.getWdef());//防御力
            toDrop.setMdef(格1.getMdef());//防御力
            toDrop.setJump(格1.getJump());//跳跃力
            toDrop.setHp(格1.getHp());//最大血量
            toDrop.setMp(格1.getMp());//最大蓝量
            toDrop.setAvoid(格1.getAvoid());//回避
            toDrop.setAcc(格1.getAcc());//命中
            toDrop.setHands(格1.getHands());//手技
            //
            toDrop.setOwner("强化+" + 强化等级[当前强化等级][0] + "")//名片
            //
            Packages.server.MapleInventoryManipulator.removeFromSlot(cm.getC(), type, 1, 1, false);
            Packages.server.MapleInventoryManipulator.addFromDrop(cm.getC(), toDrop, false);
            //
            //
            cm.getPlayer().gainOneTimeLogcs("时装强化总次数", +1);
            cm.itemlaba("【时装强化】", "玩家 [" + cm.getPlayer().getName() + "] 的 [+" + (parseInt(当前强化等级)) + "]" + cm.getItemName(cm.getInventory(1).getItem(1).getItemId()) + " → [+" + (parseInt(当前强化等级) + 1) + "]强化成功.", toDrop, 15);
            cm.getPlayer().dropMessage(5, "强化成功,恭喜你!!!!!");
            cm.dispose();
            cm.openNpc(9900004, "时装强化系统");
            return;
        }
    }
    //
}



//獲取裝備類型  
function getItemType(itemid) {
    var type = Math.floor(itemid / 10000);
    switch (type) {
        case 100:
            return 0; //帽子
        case 104:
            return 1; //上衣
        case 105:
            return 2; //套裝
        case 106:
            return 3; //褲裙
        case 107:
            return 4; //鞋子
        case 108:
            return 5; //手套
        case 110:
            return 6; //披風
        case 115:
            return 8; //護肩
        case 111:
            return 9; //ring
        case 101:
            return 10; //脸饰
        case 102:
            return 11; //眼饰
        case 103:
            return 12; //耳环
        case 112:
            return 13; //吊坠
        case 113:
            return 14; //腰带
        case 114:
            return 15; //勋章
        case 109:
            return 16; //盾牌
        default:
            var type = Math.floor(type / 10);
            if (type == 12 || type == 13 || type == 14 || type == 15 || type == 17) {
                return 7; //时装
            }
            return -1;
    }
}